﻿// Copyright (c) 2014 Jonathan Magnan (http://jonathanmagnan.com).
// All rights reserved (http://jonathanmagnan.com/icon-library).
// Licensed under MIT License (MIT) (http://ziconlibrary.codeplex.com/license).

using System;
using System.Collections.Generic;

namespace Z
{
    /// ###
    /// <summary>C# object which old the resulst of a ListCompare.</summary>
    /// ###
    /// <typeparam name="T1">T1 object type.</typeparam>
    /// ###
    /// <typeparam name="T2">T2 object type.</typeparam>
    public class ListCompareResult<T1, T2>
    {
        /// <summary>Item list from list 1 &amp; list 2 where item are equal. Careful the result is not distinct.</summary>
        public List<Tuple<T1, T2>> ItemListEqual;

        /// <summary>Item list from the list 1 which exist in list 2.</summary>
        public List<T1> ItemListEqualLeft;

        /// <summary>Item list from the list 2 which exist in list 1.</summary>
        public List<T2> ItemListEqualRight;

        /// <summary>Item list from the list 1 which doesn't exists in the list 2.</summary>
        public List<T1> ItemListLeft;

        /// <summary>Item list from the list 2 which doesn't exists in the list 1.</summary>
        public List<T2> ItemListRight;
    }
}